home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue28 / tiptrix / LISTING6.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1997-11-11  |  1.4 KB  |  59 lines

  1. unit Main;
  2. interface
  3. uses
  4.   SysUtils,WinTypes,WinProcs,Messages,Classes,Graphics,
  5.   Controls,Forms,Dialogs,StdCtrls,ExtCtrls;
  6. type
  7.   TMyGroupBox = class(TGroupBox)
  8.   public
  9.     property Canvas;
  10.   end;
  11.   TfrmMain = class(TForm)
  12.     Image1: TImage;
  13.     GroupBox1: TGroupBox;
  14.     Button1: TButton;
  15.     CheckBox1: TCheckBox;
  16.     RadioButton1: TRadioButton;
  17.     ListBox1: TListBox;
  18.     procedure Button1Click(Sender: TObject);
  19.     procedure ListBox1Click(Sender: TObject);
  20.   private
  21.     { Private declarations }
  22.   public
  23.     { Public declarations }
  24.   end;
  25. var
  26.   frmMain: TfrmMain;
  27.   copMode: TCopyMode;
  28.  
  29. implementation
  30. {$R *.DFM}
  31.  
  32. procedure TfrmMain.Button1Click(Sender: TObject);
  33. begin
  34.   with TMyGroupBox(GroupBox1).Canvas do begin
  35.     CopyMode := copMode;
  36.     CopyRect(ClipRect,Image1.Canvas,ClipRect);
  37.   end;
  38. end;
  39.  
  40. procedure TfrmMain.ListBox1Click(Sender: TObject);
  41. begin
  42.   case (Sender as TListBox).ItemIndex of
  43.     0: copMode := cmBlackness;
  44.     1: copMode := cmDstInvert;
  45.     2: copMode := cmMergeCopy;
  46.     3: copMode := cmMergePaint;
  47.     4: copMode := cmNotSrcCopy;
  48.     5: copMode := cmNotSrcErase;
  49.     6: copMode := cmPatCopy;
  50.     7: copMode := cmPatInvert;
  51.     8: copMode := cmPatPaint;
  52.     9: copMode := cmSrcAnd;
  53.     10: copMode := cmSrcCopy;
  54.     11: copMode := cmSrcErase;
  55.     12: copMode := cmSrcInvert;
  56.   end;
  57. end;
  58. end.
  59.